tooling: build the cow-venue adapter wasm inside just ci - #596
Merged
Conversation
The module-wasm build emits a featureless cow_venue.wasm through twap-monitor's cow-venue dependency, so the videre-host platform e2e tests loaded a stub component with no adapter exports and failed non-deterministically on a clean checkout, while GitHub CI passed by building the adapter after the modules. Rebuild the adapter component inside the ci recipe, after the module build and before the tests, matching CI's order. Closes #595
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Build the cow-venue adapter wasm inside the
just cirecipe, after the module-wasm build and beforecargo test, matching GitHub CI's build order.Why
just cibuilt the module wasms (which include twap-monitor, a cow-venue dependent) and then ran the tests. Because cow-venue is an unconditionalcdylib, that build emitted a featurelesscow_venue.wasm, and the videre-host platform e2e tests (e2e_cow_venue_component_imports_equal_declared_capabilities,e2e_twap_monitor_boots_against_the_cow_adapter) then loaded that stub instead of the adapter component and failed. Whether it failed depended on whether an adapter wasm from an earlierjust build-cow-venuehappened to survive, so the same tree passed for one developer and failed for another. GitHub CI was unaffected because it builds the adapter after the modules and before the tests. This aligns the canonical pre-push check with CI.Testing
Verified on a clean worktree (cold target dir, the exact failure case) on the pinned 1.94 toolchain:
nix develop --command just cinow builds the adapter component before the tests, and both platform e2e tests pass (previously failed on a fresh checkout)nix develop --command just check-venue-agnosticnix develop --command just check-cow-orderbook-onlyAI Assistance
Implemented with Claude Code.
Closes #595